home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / os2 / lopbk505.zip / LBKMOD2.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1997-03-25  |  28KB  |  1,719 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  TBOOLEAN003(1)
  22.     Boolean  BOOLEAN004
  23.     Boolean  BOOLEAN005
  24.     Boolean  BOOLEAN006
  25.     Boolean  BOOLEAN007
  26.     Boolean  BOOLEAN008
  27.     Date     DATE001
  28.     Integer  INTEGER001
  29.     Integer  INTEGER002
  30.     Integer  INTEGER003
  31.     Integer  INTEGER004
  32.     Integer  INTEGER005
  33.     Integer  INTEGER006
  34.     Real     REAL001
  35.     Real     REAL002
  36.     Real     REAL003
  37.     String   STRING001
  38.     String   STRING002
  39.     String   STRING003
  40.     String   STRING004
  41.     String   STRING005
  42.     String   STRING006
  43.     String   STRING007
  44.     String   STRING008
  45.     String   STRING009
  46.     String   STRING010
  47.     String   STRING011
  48.     Time     TIME001
  49.     Byte     BYTE001
  50.     Byte     BYTE002
  51.     Byte     BYTE003
  52.     Byte     BYTE004
  53.     Byte     BYTE005
  54.     Byte     BYTE006
  55.  
  56. ;------------------------------------------------------------------------------
  57.  
  58.     GetToken STRING003
  59.     GetToken STRING004
  60.     Select Case (STRING003)
  61.         Case "1"
  62.             Gosub LABEL024
  63.             Goto LABEL048
  64.         Case "2"
  65.             Gosub LABEL031
  66.             Goto LABEL048
  67.         Case "3"
  68.             STRING003 = ""
  69.             GetToken STRING003
  70.             If (STRING003 == "A") Then
  71.                 BOOLEAN006 = 1
  72.                 Gosub LABEL015
  73.                 Goto LABEL048
  74.             Else
  75.                 BOOLEAN006 = 0
  76.                 Gosub LABEL015
  77.                 Goto LABEL048
  78.             Endif
  79.         Case "4"
  80.             PrintLn 
  81.             PrintLn "@X0FTrash file converting is no longer supported..."
  82.             PrintLn 
  83.             Wait
  84.             Goto LABEL048
  85.         Case "5"
  86.             Gosub LABEL040
  87.             Goto LABEL048
  88.         Case "6"
  89.             Select Case (STRING004)
  90.                 Case "C"
  91.                     Gosub LABEL011
  92.                 Case "V"
  93.                     Gosub LABEL007
  94.                 Case "A"
  95.                     Gosub LABEL003
  96.             End Select
  97.             Goto LABEL048
  98.         Case "7"
  99.             Gosub LABEL001
  100.             Goto LABEL048
  101.         Case Else
  102.             PrintLn 
  103.             PrintLn "@X0CLBKMOD2 : FATAL ERROR -- INVALID COMMAND PARAMETERS"
  104.             PrintLn 
  105.             PrintLn "@X0ALBKMOD2.PPE can only be ran from within LOOPUTIL.PPE!"
  106.             PrintLn 
  107.             Delay 9
  108.             Goto LABEL048
  109.     End Select
  110.     :LABEL001
  111.     Gosub LABEL042
  112.     PrintLn 
  113.     STRING002 = PPEPath() + "TRASH.XPT"
  114.     STRING008 = PPEPath() + "EXPORT.RPT"
  115.     InputStr "Path & Filename to export to", STRING002, 15, 45, Mask_Path() + Mask_File(), 2 + 4 + 256
  116.     STRING002 = Strip(Upper(STRING002), " ")
  117.     If (STRING002 == "") Goto LABEL048
  118.     InputStr "Path & Filename for report file", STRING008, 15, 45, Mask_Path() + Mask_File(), 2 + 4 + 256
  119.     STRING008 = Strip(Upper(STRING008), " ")
  120.     If (STRING008 == "") Goto LABEL048
  121.     STRING001 = Trim(Upper(STRING001), " ")
  122.     If (Exist(STRING001)) Goto LABEL002
  123.     PrintLn 
  124.     PrintLn "@X0C" + STRING001 + " does not exist!"
  125.     PrintLn 
  126.     Delay 4
  127.     Goto LABEL048
  128.     :LABEL002
  129.     INTEGER001 = FileInf(STRING001, 4)
  130.     INTEGER002 = (INTEGER001 - 37) / 59
  131.     If (Exist(STRING002)) Then
  132.         FAppend 1, STRING002, 1, 2
  133.         If (Ferr(1)) Then
  134.             BOOLEAN001 = 1
  135.         Else
  136.             BOOLEAN001 = 0
  137.         Endif
  138.         If (BOOLEAN001) Then
  139.             PrintLn 
  140.             PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  141.             FClose 1
  142.             Return
  143.         Endif
  144.     Else
  145.         FCreate 1, STRING002, 1, 2
  146.         If (Ferr(1)) Then
  147.             BOOLEAN001 = 1
  148.         Else
  149.             BOOLEAN001 = 0
  150.         Endif
  151.         If (BOOLEAN001) Then
  152.             PrintLn 
  153.             PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  154.             FClose 1
  155.             Return
  156.         Endif
  157.     Endif
  158.     FOpen 2, STRING001, 0, 0
  159.     If (Ferr(2)) Then
  160.         BOOLEAN001 = 1
  161.     Else
  162.         BOOLEAN001 = 0
  163.     Endif
  164.     If (BOOLEAN001) Then
  165.         PrintLn 
  166.         PrintLn "@X0CSorry, the @X0F" + STRING001 + " @X0Cfile is currently inaccessible..."
  167.         FClose 1
  168.         FClose 2
  169.         Return
  170.     Endif
  171.     If (Exist(STRING008)) Then
  172.         FAppend 3, STRING008, 1, 2
  173.         If (Ferr(3)) Then
  174.             BOOLEAN001 = 1
  175.         Else
  176.             BOOLEAN001 = 0
  177.         Endif
  178.         If (BOOLEAN001) Then
  179.             PrintLn 
  180.             PrintLn "@X0CSorry, the @X0F" + STRING008 + " @X0Cfile is currently inaccessible..."
  181.             FClose 1
  182.             FClose 2
  183.             FClose 3
  184.             Return
  185.         Endif
  186.     Else
  187.         FCreate 3, STRING008, 1, 2
  188.         If (Ferr(3)) Then
  189.             BOOLEAN001 = 1
  190.         Else
  191.             BOOLEAN001 = 0
  192.         Endif
  193.         If (BOOLEAN001) Then
  194.             PrintLn 
  195.             PrintLn "@X0CSorry, the @X0F" + STRING008 + " @X0Cfile is currently inaccessible..."
  196.             FClose 1
  197.             FClose 2
  198.             FClose 3
  199.             Return
  200.         Endif
  201.         FPutLn 3, "LoopBack v5.05  Already Used # Exportation Report"
  202.         FPutLn 3, "Report generated at " + String(Time()) + " on " + String(Date())
  203.         FPutLn 3, "----------------------------------------------------------------------"
  204.         FPutLn 3
  205.     Endif
  206.     INTEGER003 = 1
  207.     Cls
  208.     PrintLn 
  209.     PrintLn Space(15) + "@X0A(@X0FAlready Used # File Exportation Procedure@X0A)"
  210.     PrintLn 
  211.     PrintLn 
  212.     PrintLn "@X0BFrom   :@X0E " + STRING001
  213.     PrintLn "@X0BTo     :@X0E " + STRING002
  214.     PrintLn "@X0BReport :@X0E " + STRING008
  215.     PrintLn 
  216.     Print "@X0CPlease wait, now exporting...@X0F    "
  217.     FSeek 2, 37, 0
  218.     While (INTEGER003 <= INTEGER002) Do
  219.         FSeek 2, 1, 1
  220.         FRead 2, TBOOLEAN003(1), 1
  221.         FRead 2, STRING009, 3
  222.         STRING009 = Strip(STRING009, " ")
  223.         FRead 2, STRING011, 4
  224.         STRING011 = Strip(STRING011, " ")
  225.         FRead 2, STRING010, 8
  226.         STRING010 = Strip(STRING010, " ")
  227.         FSeek 2, 42, 1
  228.         If (TBOOLEAN003(1)) Then
  229.             FPutLn 3, "--------------------------------------------------------------------------"
  230.             FPutLn 3, "Record #" + String(INTEGER003) + " not exported because it is an international number..."
  231.             FPutLn 3, "CountryCode = " + STRING009
  232.             FPutLn 3, "CityCode    = " + STRING011
  233.             FPutLn 3, "Number      = " + STRING010
  234.         Else
  235.             FPutLn 1, STRING009 + "-" + Left(STRING011 + Space(3), 3) + "-" + Left(STRING010 + Space(4), 4)
  236.         Endif
  237.         Gosub LABEL046
  238.         Inc INTEGER003
  239.     EndWhile
  240.     FClose 1
  241.     FClose 2
  242.     FClose 3
  243.     PrintLn 
  244.     PrintLn "@X0BExporting process completed!"
  245.     Log "Already Used # file exported...", 0
  246.     Delay 4
  247.     Return
  248.     :LABEL003
  249.     Gosub LABEL042
  250.     PrintLn 
  251.     STRING008 = ""
  252.     STRING002 = ""
  253.     InputStr "Path & Filename of file to import", STRING002, 15, 45, Mask_Path() + Mask_File(), 2 + 4
  254.     STRING002 = Strip(Upper(STRING002), " ")
  255.     If (STRING002 == "") Goto LABEL048
  256.     STRING001 = Upper(STRING001)
  257.     Newline
  258.     InputStr "Name to place in file for all imported numbers", STRING008, 15, 25, Mask_Ascii(), 2 + 4
  259.     Newline
  260.     STRING008 = Trim(Upper(STRING008), " ")
  261.     PrintLn 
  262.     If (Exist(STRING002)) Goto LABEL004
  263.     PrintLn "@X0C" + STRING002 + " does not exist!"
  264.     PrintLn 
  265.     Delay 9
  266.     Return
  267.     :LABEL004
  268.     If (Exist(STRING001)) Then
  269.         FOpen 1, STRING001, 1, 2
  270.         If (Ferr(1)) Then
  271.             BOOLEAN001 = 1
  272.         Else
  273.             BOOLEAN001 = 0
  274.         Endif
  275.         If (BOOLEAN001) Then
  276.             PrintLn 
  277.             PrintLn "@X0CSorry, the @X0F" + STRING001 + " @X0Cfile is currently inaccessible..."
  278.             FClose 1
  279.             Return
  280.         Endif
  281.         FSeek 1, 0, 2
  282.     Else
  283.         FCreate 1, STRING001, 1, 2
  284.         If (Ferr(1)) Then
  285.             BOOLEAN001 = 1
  286.         Else
  287.             BOOLEAN001 = 0
  288.         Endif
  289.         If (BOOLEAN001) Then
  290.             PrintLn 
  291.             PrintLn "@X0CSorry, the @X0F" + STRING001 + " @X0Cfile is currently inaccessible..."
  292.             FClose 1
  293.             Return
  294.         Endif
  295.         FWrite 1, " LoopBack 5.05 Binary Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 37
  296.     Endif
  297.     FOpen 2, STRING002, 0, 0
  298.     If (Ferr(2)) Then
  299.         BOOLEAN001 = 1
  300.     Else
  301.         BOOLEAN001 = 0
  302.     Endif
  303.     If (BOOLEAN001) Then
  304.         PrintLn 
  305.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  306.         FClose 1
  307.         FClose 2
  308.         Return
  309.     Endif
  310.     Cls
  311.     PrintLn 
  312.     PrintLn Space(15) + "@X0A(@X0FAlready Used # Trash File Importation Procedure@X0A)"
  313.     PrintLn 
  314.     PrintLn "@X0EFrom         : @X0F" + STRING002
  315.     PrintLn "@X0ETo           : @X0F" + STRING001
  316.     PrintLn "@X0EDefault Name : @X0F" + STRING008
  317.     PrintLn "@X0EFilter Type  : @X0FASCII CR/LF DELIMITTED"
  318.     PrintLn 
  319.     PrintLn 
  320.     Print "@X0CImporting record #@X0F1"
  321.     INTEGER003 = 1
  322.     INTEGER005 = 1
  323.     :LABEL005
  324.     If (Ferr(2)) Goto LABEL006
  325.     FGet 2, STRING005
  326.     Backup Len(String(INTEGER005))
  327.     Print String(INTEGER003)
  328.     STRING005 = Strip(Strip(Strip(Strip(Strip(STRING005, " "), ")"), "("), "-"), ".")
  329.     If (STRING005 <> "") Then
  330.         FWrite 1, 0, 1
  331.         FWrite 1, 0, 1
  332.         FWrite 1, Mid(STRING005, 1, 3), 3
  333.         FWrite 1, Mid(STRING005, 4, 3), 4
  334.         FWrite 1, Mid(STRING005, 7, 4), 8
  335.         FWrite 1, STRING008, 25
  336.         FWrite 1, Date(), 2
  337.         FWrite 1, Time(), 4
  338.         FWrite 1, Space(11), 11
  339.         INTEGER005 = INTEGER003
  340.         Inc INTEGER003
  341.     Endif
  342.     Goto LABEL005
  343.     :LABEL006
  344.     FClose 1
  345.     FClose 2
  346.     PrintLn 
  347.     PrintLn "@X0B" + STRING002 + " successfully imported..."
  348.     Log STRING002 + " imported into Used # file...", 0
  349.     PrintLn 
  350.     Gosub LABEL040
  351.     Return
  352.     :LABEL007
  353.     Gosub LABEL042
  354.     PrintLn 
  355.     STRING008 = ""
  356.     STRING002 = ""
  357.     InputStr "Path & Filename of file to import", STRING002, 15, 45, Mask_Path() + Mask_File(), 2 + 4 + 8
  358.     STRING002 = Strip(STRING002, " ")
  359.     If (STRING002 == "") Goto LABEL048
  360.     STRING001 = Upper(STRING001)
  361.     PrintLn 
  362.     If (Exist(STRING002)) Goto LABEL008
  363.     PrintLn "@X0C" + STRING002 + " does not exist!"
  364.     PrintLn 
  365.     Delay 9
  366.     Return
  367.     :LABEL008
  368.     If (Exist(STRING001)) Then
  369.         FOpen 1, STRING001, 1, 2
  370.         If (Ferr(1)) Then
  371.             BOOLEAN001 = 1
  372.         Else
  373.             BOOLEAN001 = 0
  374.         Endif
  375.         If (BOOLEAN001) Then
  376.             PrintLn 
  377.             PrintLn "@X0CSorry, the @X0F" + STRING001 + " @X0Cfile is currently inaccessible..."
  378.             FClose 1
  379.             Return
  380.         Endif
  381.         FSeek 1, 0, 2
  382.     Else
  383.         FCreate 1, STRING001, 1, 2
  384.         If (Ferr(1)) Then
  385.             BOOLEAN001 = 1
  386.         Else
  387.             BOOLEAN001 = 0
  388.         Endif
  389.         If (BOOLEAN001) Then
  390.             PrintLn 
  391.             PrintLn "@X0CSorry, the @X0F" + STRING001 + " @X0Cfile is currently inaccessible..."
  392.             FClose 1
  393.             Return
  394.         Endif
  395.         FWrite 1, " LoopBack 5.05 Binary Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 37
  396.     Endif
  397.     FOpen 2, STRING002, 0, 0
  398.     If (Ferr(2)) Then
  399.         BOOLEAN001 = 1
  400.     Else
  401.         BOOLEAN001 = 0
  402.     Endif
  403.     If (BOOLEAN001) Then
  404.         PrintLn 
  405.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  406.         FClose 1
  407.         FClose 2
  408.         Return
  409.     Endif
  410.     Cls
  411.     PrintLn 
  412.     PrintLn Space(15) + "@X0A(@X0FAlready Used # Trash File Importation Procedure@X0A)"
  413.     PrintLn 
  414.     PrintLn "@X0EFrom         : @X0F" + STRING002
  415.     PrintLn "@X0ETo           : @X0F" + STRING001
  416.     PrintLn "@X0EFilter Type  : @X0FPCBVERIFY/""THE VERIFY DOOR""/LOOPBACK"
  417.     PrintLn 
  418.     PrintLn 
  419.     Print "@X0CImporting record #@X0F1"
  420.     INTEGER003 = 1
  421.     INTEGER005 = 1
  422.     :LABEL009
  423.     If (Ferr(2)) Goto LABEL010
  424.     FGet 2, STRING005
  425.     STRING005 = Replace(STRING005, ",", ";")
  426.     STRING005 = Replace(STRING005, " ", Chr(255))
  427.     Tokenize STRING005
  428.     Backup Len(String(INTEGER005))
  429.     Print String(INTEGER003)
  430.     STRING005 = Trim(Strip(GetToken(), "-"), """")
  431.     If (STRING005 <> "") Then
  432.         FWrite 1, 0, 1
  433.         FWrite 1, 0, 1
  434.         FWrite 1, Mid(STRING005, 1, 3), 3
  435.         FWrite 1, Mid(STRING005, 4, 3), 4
  436.         FWrite 1, Mid(STRING005, 7, 4), 8
  437.         STRING008 = Replace(Trim(GetToken(), """"), Chr(255), " ")
  438.         FWrite 1, STRING008, 25
  439.         STRING005 = Trim(GetToken(), """")
  440.         FWrite 1, ToDate(STRING005), 2
  441.         FWrite 1, 0, 4
  442.         FWrite 1, Space(11), 11
  443.         INTEGER005 = INTEGER003
  444.         Inc INTEGER003
  445.     Endif
  446.     Goto LABEL009
  447.     :LABEL010
  448.     FClose 1
  449.     FClose 2
  450.     PrintLn 
  451.     PrintLn "@X0B" + STRING002 + " successfully imported..."
  452.     Log STRING002 + " imported into Used # file...", 0
  453.     PrintLn 
  454.     Gosub LABEL040
  455.     Return
  456.     :LABEL011
  457.     Gosub LABEL042
  458.     PrintLn 
  459.     STRING008 = ""
  460.     STRING002 = ""
  461.     InputStr "Path & Filename of file to import", STRING002, 15, 45, Mask_Path() + Mask_File(), 2 + 4 + 8
  462.     STRING002 = Strip(STRING002, " ")
  463.     If (STRING002 == "") Goto LABEL048
  464.     STRING001 = Upper(STRING001)
  465.     PrintLn 
  466.     If (Exist(STRING002)) Goto LABEL012
  467.     PrintLn "@X0C" + STRING002 + " does not exist!"
  468.     PrintLn 
  469.     Delay 9
  470.     Return
  471.     :LABEL012
  472.     If (Exist(STRING001)) Then
  473.         FOpen 1, STRING001, 1, 2
  474.         If (Ferr(1)) Then
  475.             BOOLEAN001 = 1
  476.         Else
  477.             BOOLEAN001 = 0
  478.         Endif
  479.         If (BOOLEAN001) Then
  480.             PrintLn 
  481.             PrintLn "@X0CSorry, the @X0F" + STRING001 + " @X0Cfile is currently inaccessible..."
  482.             FClose 1
  483.             Return
  484.         Endif
  485.         FSeek 1, 0, 2
  486.     Else
  487.         FCreate 1, STRING001, 1, 2
  488.         If (Ferr(1)) Then
  489.             BOOLEAN001 = 1
  490.         Else
  491.             BOOLEAN001 = 0
  492.         Endif
  493.         If (BOOLEAN001) Then
  494.             PrintLn 
  495.             PrintLn "@X0CSorry, the @X0F" + STRING001 + " @X0Cfile is currently inaccessible..."
  496.             FClose 1
  497.             Return
  498.         Endif
  499.         FWrite 1, " LoopBack 5.05 Binary Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 37
  500.     Endif
  501.     FOpen 2, STRING002, 0, 0
  502.     If (Ferr(2)) Then
  503.         BOOLEAN001 = 1
  504.     Else
  505.         BOOLEAN001 = 0
  506.     Endif
  507.     If (BOOLEAN001) Then
  508.         PrintLn 
  509.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  510.         FClose 1
  511.         FClose 2
  512.         Return
  513.     Endif
  514.     Cls
  515.     PrintLn 
  516.     PrintLn Space(15) + "@X0A(@X0FAlready Used # Trash File Importation Procedure@X0A)"
  517.     PrintLn 
  518.     PrintLn "@X0EFrom         : @X0F" + STRING002
  519.     PrintLn "@X0ETo           : @X0F" + STRING001
  520.     PrintLn "@X0EFilter Type  : @X0FCSVERIFY"
  521.     PrintLn 
  522.     PrintLn 
  523.     Print "@X0CImporting record #@X0F1"
  524.     INTEGER003 = 1
  525.     INTEGER005 = 1
  526.     :LABEL013
  527.     If (Ferr(2)) Goto LABEL014
  528.     FGet 2, STRING005
  529.     Tokenize STRING005
  530.     Backup Len(String(INTEGER005))
  531.     Print String(INTEGER003)
  532.     STRING005 = GetToken() + Strip(GetToken(), "-")
  533.     If (STRING005 <> "") Then
  534.         FWrite 1, 0, 1
  535.         FWrite 1, 0, 1
  536.         FWrite 1, Mid(STRING005, 1, 3), 3
  537.         FWrite 1, Mid(STRING005, 4, 3), 4
  538.         FWrite 1, Mid(STRING005, 7, 4), 8
  539.         GetToken STRING005
  540.         GetToken STRING005
  541.         STRING008 = ""
  542.         GetToken STRING005
  543.         While (STRING005 <> "ON") Do
  544.             STRING008 = STRING008 + STRING005 + " "
  545.             GetToken STRING005
  546.         EndWhile
  547.         FWrite 1, Trim(STRING008, " "), 25
  548.         GetToken STRING005
  549.         FWrite 1, ToDate(STRING005), 2
  550.         GetToken STRING005
  551.         GetToken STRING005
  552.         FWrite 1, ToTime(STRING005), 4
  553.         FWrite 1, Space(11), 11
  554.         INTEGER005 = INTEGER003
  555.         Inc INTEGER003
  556.     Endif
  557.     Goto LABEL013
  558.     :LABEL014
  559.     FClose 1
  560.     FClose 2
  561.     PrintLn 
  562.     PrintLn "@X0B" + STRING002 + " successfully imported..."
  563.     Log STRING002 + " imported into Used # file...", 0
  564.     PrintLn 
  565.     Gosub LABEL040
  566.     Return
  567.     :LABEL015
  568.     Gosub LABEL042
  569.     BOOLEAN002 = 0
  570.     BYTE002 = 20
  571.     BYTE003 = 110
  572.     STRING007 = Trim(ReadLine(PCBDat(), 29), " ")
  573.     :LABEL016
  574.     If (BOOLEAN002) Goto LABEL017
  575.     PrintLn 
  576.     PrintLn "@X0FLoopUtil Trash File Building Facility"
  577.     PrintLn "@X0CNOTE : NUMBERS MUST HAVE 10 CHARACTERS TO BE PROCESSED!"
  578.     PrintLn "       INTERNATIONAL NUMBERS OR INCOMPLETE NUMBERS WILL NOT BE PROCESSED..."
  579.     PrintLn "       See BUILD.RPT after building process for records"
  580.     PrintLn "       to manually update."
  581.     PrintLn 
  582.     PrintLn "          @X0F(@X09L@X0F)@X0Bowest sec. level to process  : @X0E" + String(BYTE002)
  583.     PrintLn "          @X0F(@X09H@X0F)@X0Bighest sec. level to process : @X0E" + String(BYTE003)
  584.     PrintLn "          @X0F(@X09U@X0F)@X0Bsers file path & filename    : @X0E(See Below)"
  585.     PrintLn "          " + STRING007
  586.     PrintLn 
  587.     PrintLn "          @X0F(@X09B@X0F)@X0Build trash file"
  588.     PrintLn "          @X0F(@X09Q@X0F)@X0Buit to LoopUtil main"
  589.     PrintLn 
  590.     STRING004 = ""
  591.     InputStr "Trash File Building Facility Command", STRING004, 10, 1, "LlHhBbQqUu", 2 + 4
  592.     Newline
  593.     STRING004 = Upper(STRING004)
  594.     Select Case (STRING004)
  595.         Case "Q"
  596.             Goto LABEL048
  597.         Case "B"
  598.             BOOLEAN002 = 1
  599.         Case "L"
  600.             InputInt "Lowest Security level of users (phone numbers) to place in trash file", BYTE002, 10
  601.         Case "H"
  602.             InputInt "Highest Security level of users (phone numbers) to place in trash file", BYTE003, 10
  603.         Case "U"
  604.             PrintLn "@X0AEnter path & filename to your USERS file below..."
  605.             InputStr "", STRING007, 12, 75, Mask_Path() + Mask_File(), 2 + 4
  606.             Newline
  607.     End Select
  608.     Goto LABEL016
  609.     :LABEL017
  610.     Cls
  611.     PrintLn 
  612.     PrintLn Space(11) + "@X0F(@X0ALoopBack Already Used Number Trash File Building Process@X0F)"
  613.     PrintLn 
  614.     PrintLn 
  615.     INTEGER001 = FileInf(STRING007, 4)
  616.     INTEGER002 = INTEGER001 / 400
  617.     INTEGER003 = 1
  618.     PrintLn "@X0ABacking up trash file..."
  619.     If (Exist(PPEPath() + "TRASH.BAK")) Delete PPEPath() + "TRASH.BAK"
  620.     If (BOOLEAN006) Goto LABEL018
  621.     If (Exist(STRING001)) Rename STRING001, PPEPath() + "TRASH.BAK"
  622.     Goto LABEL019
  623.     :LABEL018
  624.     If (Exist(STRING001)) Copy STRING001, PPEPath() + "TRASH.BAK"
  625.     :LABEL019
  626.     PrintLn "@X0AOpening files..."
  627.     KbdChkOff
  628.     FCreate 2, PPEPath() + "BUILD.RPT", 1, 2
  629.     If (Ferr(2)) Then
  630.         BOOLEAN001 = 1
  631.     Else
  632.         BOOLEAN001 = 0
  633.     Endif
  634.     If (BOOLEAN001) Then
  635.         PrintLn 
  636.         PrintLn "@X0CSorry, the @X0FBUILD.RPT @X0Cfile is currently inaccessible..."
  637.         PrintLn "@X0AA report will not be generated...  @X0CResuming..."
  638.         FClose 2
  639.     Else
  640.         FPutLn 2, "LoopBack v5.05  Trash File Building Report"
  641.         FPutLn 2, "Generated on file " + STRING007 + " on " + String(Date()) + " at " + String(Time())
  642.         FPutLn 2, "================================================================================"
  643.         FPutLn 2
  644.     Endif
  645.     BOOLEAN001 = 0
  646.     If (BOOLEAN006) Goto LABEL020
  647.     FCreate 1, STRING001, 1, 2
  648.     If (Ferr(1)) Then
  649.         BOOLEAN001 = 1
  650.     Else
  651.         BOOLEAN001 = 0
  652.     Endif
  653.     If (BOOLEAN001) Then
  654.         PrintLn 
  655.         PrintLn "@X0CSorry, the @X0F" + STRING001 + " @X0Cfile is currently inaccessible..."
  656.         FClose 1
  657.         Return
  658.     Endif
  659.     FWrite 1, " LoopBack v5.05 Binary Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 37
  660.     Goto LABEL021
  661.     :LABEL020
  662.     If (Exist(STRING001)) Then
  663.         FOpen 1, STRING001, 1, 2
  664.         If (Ferr(1)) Then
  665.             BOOLEAN001 = 1
  666.         Else
  667.             BOOLEAN001 = 0
  668.         Endif
  669.         If (BOOLEAN001) Then
  670.             PrintLn 
  671.             PrintLn "@X0CSorry, the @X0F" + STRING001 + " @X0Cfile is currently inaccessible..."
  672.             FClose 1
  673.             Return
  674.         Endif
  675.         FSeek 1, 0, 2
  676.     Else
  677.         FCreate 1, STRING001, 1, 2
  678.         If (Ferr(1)) Then
  679.             BOOLEAN001 = 1
  680.         Else
  681.             BOOLEAN001 = 0
  682.         Endif
  683.         If (BOOLEAN001) Then
  684.             PrintLn 
  685.             PrintLn "@X0CSorry, the @X0F" + STRING001 + " @X0Cfile is currently inaccessible..."
  686.             FClose 1
  687.             Return
  688.         Endif
  689.         FWrite 1, " LoopBack 5.05 Binary Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 37
  690.     Endif
  691.     :LABEL021
  692.     PrintLn 
  693.     PrintLn "@X0AReading user records & building trashfile..."
  694.     PrintLn "@X0F     File Size = " + String(INTEGER001) + " bytes  Number of Records = " + String(INTEGER002)
  695.     PrintLn 
  696.     If (OnLocal()) Then
  697.         PrintLn 
  698.         Print "@X0F0% @X07░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ @X0F100%"
  699.         BYTE001 = GetY()
  700.     Else
  701.         Print "Fetching records...     "
  702.     Endif
  703.     INTEGER001 = 1
  704.     While (INTEGER003 <= INTEGER002) Do
  705.         GetAltUser INTEGER003
  706.         If ((U_Sec >= BYTE002) && (U_Sec <= BYTE003)) Then
  707.             BOOLEAN005 = 1
  708.         Else
  709.             BOOLEAN005 = 0
  710.         Endif
  711.         If (BOOLEAN005) Then
  712.             STRING008 = U_BDPhone
  713.             STRING008 = Strip(Strip(Strip(Strip(Strip(Strip(STRING008, " "), "-"), ")"), "("), "."), ",")
  714.             FPutLn 2, "--------------------------------------------------"
  715.             FPutLn 2, U_Name() + "   Record #" + String(INTEGER003)
  716.             If (Len(STRING008) == 10) Then
  717.                 STRING009 = Mid(STRING008, 1, 3)
  718.                 STRING011 = Mid(STRING008, 4, 3)
  719.                 STRING010 = Mid(STRING008, 7, 4)
  720.                 FWrite 1, 0, 1
  721.                 FWrite 1, 0, 1
  722.                 FWrite 1, STRING009, 3
  723.                 FWrite 1, STRING011, 4
  724.                 FWrite 1, STRING010, 8
  725.                 FWrite 1, U_Name(), 25
  726.                 FWrite 1, Date(), 2
  727.                 FWrite 1, Time(), 4
  728.                 FWrite 1, Space(11), 11
  729.                 FPutLn 2, "USA DATA number detected...  Added to trash file..."
  730.                 Goto LABEL022
  731.             Endif
  732.             FPutLn 2, "Invalid DATA number format...  Please add manually..."
  733.             FPutLn 2, "DATA # = " + U_BDPhone
  734.             :LABEL022
  735.             STRING008 = U_HVPhone
  736.             STRING008 = Strip(Strip(Strip(Strip(Strip(Strip(STRING008, " "), "-"), ")"), "("), "."), ",")
  737.             If (Len(STRING008) == 10) Then
  738.                 STRING009 = Mid(STRING008, 1, 3)
  739.                 STRING011 = Mid(STRING008, 4, 3)
  740.                 STRING010 = Mid(STRING008, 7, 4)
  741.                 FWrite 1, 0, 1
  742.                 FWrite 1, 0, 1
  743.                 FWrite 1, STRING009, 3
  744.                 FWrite 1, STRING011, 4
  745.                 FWrite 1, STRING010, 8
  746.                 FWrite 1, U_Name(), 25
  747.                 FWrite 1, Date(), 2
  748.                 FWrite 1, Time(), 4
  749.                 FWrite 1, Space(11), 11
  750.                 FPutLn 2, "USA HOME number detected...  Added to trash file..."
  751.                 Goto LABEL023
  752.             Endif
  753.             FPutLn 2, "Invalid HOME number format...  Please add manually..."
  754.             FPutLn 2, "HOME # = " + U_HVPhone
  755.         Endif
  756.         :LABEL023
  757.         If (OnLocal()) Then
  758.             Gosub LABEL045
  759.         Else
  760.             Gosub LABEL046
  761.         Endif
  762.         INTEGER001 = INTEGER003
  763.         Inc INTEGER003
  764.     EndWhile
  765.     PrintLn 
  766.     PrintLn "@X0FTrash file building finished!  Closing files..."
  767.     FClose 1
  768.     FClose 2
  769.     Gosub LABEL040
  770.     Delay 4
  771.     KbdChkOn
  772.     Return
  773.     :LABEL024
  774.     PrintLn 
  775.     PrintLn "@X07LoopUtil provides the ability to check the user's in your LoopBack trash "
  776.     PrintLn "file against those in your USERS file.  If a user in your LoopBack trash file"
  777.     PrintLn "is not found in your PCBoard USERS file, he/she will be flagged for deletion"
  778.     PrintLn "from the LoopBack trash file and packed out during the packing process.  You"
  779.     PrintLn "have the choice whether or not you want LoopBack to do this."
  780.     PrintLn 
  781.     STRING005 = YesChar()
  782.     InputYN "Would you like to purge inactive users from the trash file", STRING005, 10
  783.     If (Upper(STRING005) == YesChar()) Then
  784.         BOOLEAN007 = 1
  785.     Else
  786.         BOOLEAN007 = 0
  787.     Endif
  788.     Gosub LABEL042
  789.     If (Exist(STRING001)) Goto LABEL025
  790.     PrintLn 
  791.     PrintLn "@X0C" + STRING001 + " does not exist!"
  792.     Delay 9
  793.     Return
  794.     :LABEL025
  795.     INTEGER001 = FileInf(STRING001, 4)
  796.     INTEGER002 = (INTEGER001 - 37) / 59
  797.     If (INTEGER002 <= 1) Then
  798.         PrintLn 
  799.         PrintLn "@X0CTHERE MUST BE AT LEAST ONE RECORD PRESENT IN THE TRASH CAN FILE!"
  800.         PrintLn 
  801.         Delay 18
  802.         Return
  803.     Endif
  804.     KbdChkOff
  805.     Cls
  806.     PrintLn 
  807.     PrintLn Space(11) + "@X0F(@X0ALoopBack Already Used Number Trash File Packing Process@X0F)"
  808.     If (BOOLEAN007) Gosub LABEL029
  809.     Rename STRING001, PPEPath() + String(PcbNode()) + "ts.$$$"
  810.     FCreate 1, STRING001, 1, 2
  811.     If (Ferr(1)) Then
  812.         BOOLEAN001 = 1
  813.     Else
  814.         BOOLEAN001 = 0
  815.     Endif
  816.     If (BOOLEAN001) Then
  817.         PrintLn 
  818.         PrintLn "@X0CSorry, the @X0F" + STRING001 + " @X0Cfile is currently inaccessible..."
  819.         FClose 1
  820.         Return
  821.     Endif
  822.     FOpen 2, PPEPath() + String(PcbNode()) + "ts.$$$", 0, 3
  823.     If (Ferr(2)) Then
  824.         BOOLEAN001 = 1
  825.     Else
  826.         BOOLEAN001 = 0
  827.     Endif
  828.     If (BOOLEAN001) Then
  829.         PrintLn 
  830.         PrintLn "@X0CSorry, the @X0F" + String(PcbNode()) + "ts.$$$ @X0Cfile is currently inaccessible..."
  831.         FClose 2
  832.         FClose 1
  833.         PrintLn 
  834.         PrintLn "@X0ADeleting & renaming temporary files..."
  835.         Delete STRING001
  836.         Rename PPEPath() + String(PcbNode()) + "ts.$$$", STRING001
  837.         Return
  838.     Endif
  839.     BOOLEAN002 = 0
  840.     FSeek 1, 0, 0
  841.     FWrite 1, " Loopback 5.05 Binary Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 37
  842.     PrintLn 
  843.     If (BOOLEAN007) Goto LABEL026
  844.     PrintLn 
  845.     PrintLn "@X0F   File Size = " + String(INTEGER001) + " bytes   Number of Records = " + String(INTEGER002)
  846.     PrintLn 
  847.     :LABEL026
  848.     Print "@X0FPacking trash can file...     "
  849.     If (OnLocal()) Then
  850.         PrintLn 
  851.         PrintLn 
  852.         Print "@X0F0% @X07░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ @X0F100%"
  853.         BYTE001 = GetY()
  854.     Endif
  855.     INTEGER003 = 1
  856.     FSeek 2, 37, 0
  857.     While (INTEGER003 <= INTEGER002) Do
  858.         BOOLEAN002 = 0
  859.         TBOOLEAN003(0) = 0
  860.         TBOOLEAN003(1) = 0
  861.         STRING009 = ""
  862.         STRING011 = ""
  863.         STRING010 = ""
  864.         STRING002 = ""
  865.         DATE001 = 0
  866.         TIME001 = 0
  867.         FRead 2, TBOOLEAN003(0), 1
  868.         If (TBOOLEAN003(0)) Then
  869.             BOOLEAN002 = 1
  870.         Else
  871.             BOOLEAN002 = 0
  872.         Endif
  873.         If (BOOLEAN002) Goto LABEL027
  874.         FWrite 1, TBOOLEAN003(0), 1
  875.         FRead 2, TBOOLEAN003(1), 1
  876.         FWrite 1, TBOOLEAN003(1), 1
  877.         FRead 2, STRING009, 3
  878.         FWrite 1, STRING009, 3
  879.         FRead 2, STRING011, 4
  880.         FWrite 1, STRING011, 4
  881.         FRead 2, STRING010, 8
  882.         FWrite 1, STRING010, 8
  883.         FRead 2, STRING002, 25
  884.         FWrite 1, STRING002, 25
  885.         FRead 2, DATE001, 2
  886.         FWrite 1, DATE001, 2
  887.         FRead 2, TIME001, 4
  888.         FWrite 1, TIME001, 4
  889.         FSeek 2, 11, 1
  890.         FWrite 1, Space(11), 11
  891.         Goto LABEL028
  892.         :LABEL027
  893.         FSeek 2, 58, 1
  894.         :LABEL028
  895.         If (OnLocal()) Then
  896.             Gosub LABEL045
  897.         Else
  898.             Gosub LABEL046
  899.         Endif
  900.         Inc INTEGER003
  901.     EndWhile
  902.     Color 7
  903.     FClose 1
  904.     FClose 2
  905.     PrintLn 
  906.     PrintLn 
  907.     PrintLn "@X0EChecking files..."
  908.     Delete PPEPath() + String(PcbNode()) + "ts.$$$"
  909.     INTEGER001 = FileInf(STRING001, 4)
  910.     INTEGER002 = (INTEGER001 - 37) / 59
  911.     If (INTEGER002 < 1) Then
  912.         PrintLn 
  913.         PrintLn "@X0C0 byte file!  Recreating with a dummy record..."
  914.         FCreate 1, STRING001, 1, 2
  915.         FWrite 1, " LoopBack 5.05 Binary Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 37
  916.         FWrite 1, 0, 1
  917.         FWrite 1, 0, 1
  918.         FWrite 1, "000", 3
  919.         FWrite 1, "000", 3
  920.         FWrite 1, "0000", 4
  921.         FWrite 1, "JOHN DOE", 25
  922.         FWrite 1, Date(), 2
  923.         FWrite 1, Time(), 4
  924.         FWrite 1, Space(11), 11
  925.         FClose 1
  926.         PrintLn "@X0ANew trash file successfully created..."
  927.     Endif
  928.     Gosub LABEL040
  929.     Log "LoopBack Trash can file successfully packed!", 0
  930.     KbdChkOn
  931.     Return
  932.     :LABEL029
  933.     FCreate 4, PPEPath() + "COMPARE.RPT", 1, 2
  934.     FPutLn 4, "LoopBack v5.05   USERS file vs. Trash file comparing report"
  935.     FPutLn 4, "Compiled on " + String(Date()) + " at " + String(Time())
  936.     FPutLn 4, "--------------------------------------------------------------------"
  937.     FPutLn 4
  938.     INTEGER006 = 0
  939.     STRING007 = ReadLine(PCBDat(), 28)
  940.     FClose -1
  941.     Rename STRING001, PPEPath() + String(PcbNode()) + "tsc.$$$"
  942.     FCreate 1, STRING001, 1, 2
  943.     If (Ferr(1)) Then
  944.         BOOLEAN001 = 1
  945.     Else
  946.         BOOLEAN001 = 0
  947.     Endif
  948.     If (BOOLEAN001) Then
  949.         PrintLn 
  950.         PrintLn "@X0CSorry, the @X0F" + STRING001 + " @X0Cfile is currently inaccessible..."
  951.         FClose 1
  952.         FClose 4
  953.         Return
  954.     Endif
  955.     FOpen 2, PPEPath() + String(PcbNode()) + "tsc.$$$", 0, 3
  956.     If (Ferr(2)) Then
  957.         BOOLEAN001 = 1
  958.     Else
  959.         BOOLEAN001 = 0
  960.     Endif
  961.     If (BOOLEAN001) Then
  962.         PrintLn 
  963.         PrintLn "@X0CSorry, the @X0F" + String(PcbNode()) + "tsc.$$$ @X0Cfile is currently inaccessible..."
  964.         FClose 4
  965.         FClose 2
  966.         FClose 1
  967.         PrintLn 
  968.         PrintLn "@X0ADeleting & renaming temporary files..."
  969.         Delete STRING001
  970.         Rename PPEPath() + String(PcbNode()) + "tsc.$$$", STRING001
  971.         Return
  972.     Endif
  973.     BOOLEAN002 = 0
  974.     FSeek 1, 0, 0
  975.     FWrite 1, " LoopBack 5.05 Binary Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 37
  976.     PrintLn 
  977.     PrintLn "@X0F   File Size = " + String(INTEGER001) + " bytes   Number of Records = " + String(INTEGER002)
  978.     PrintLn 
  979.     Print "@X0FComparing trash can file against USERS file...     "
  980.     If (OnLocal()) Then
  981.         PrintLn 
  982.         PrintLn 
  983.         Print "@X0F0% @X07░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ @X0F100%"
  984.         BYTE001 = GetY()
  985.     Endif
  986.     INTEGER003 = 1
  987.     FSeek 2, 37, 0
  988.     FDefOut 1
  989.     While (INTEGER003 <= INTEGER002) Do
  990.         BOOLEAN002 = 0
  991.         FRead 2, TBOOLEAN003(0), 1
  992.         FRead 2, TBOOLEAN003(1), 1
  993.         FRead 2, STRING009, 3
  994.         FRead 2, STRING011, 4
  995.         FRead 2, STRING010, 8
  996.         FRead 2, STRING002, 25
  997.         BOOLEAN008 = 0
  998.         Gosub LABEL030
  999.         If (BOOLEAN008) Then
  1000.             FRead 2, DATE001, 2
  1001.             FRead 2, TIME001, 4
  1002.             FSeek 2, 11, 1
  1003.             FDWrite TBOOLEAN003(0), 1
  1004.             FDWrite TBOOLEAN003(1), 1
  1005.             FDWrite STRING009, 3
  1006.             FDWrite STRING011, 4
  1007.             FDWrite STRING010, 8
  1008.             FDWrite STRING002, 25
  1009.             FDWrite DATE001, 2
  1010.             FDWrite TIME001, 4
  1011.             FDWrite Space(11), 11
  1012.         Else
  1013.             FSeek 2, 17, 1
  1014.         Endif
  1015.         If (OnLocal()) Then
  1016.             Gosub LABEL045
  1017.         Else
  1018.             Gosub LABEL046
  1019.         Endif
  1020.         Inc INTEGER003
  1021.     EndWhile
  1022.     Color 7
  1023.     FClose 1
  1024.     FClose 2
  1025.     FClose 4
  1026.     PrintLn 
  1027.     PrintLn 
  1028.     PrintLn "@X0EChecking files..."
  1029.     Delete PPEPath() + String(PcbNode()) + "tsc.$$$"
  1030.     INTEGER001 = FileInf(STRING001, 4)
  1031.     INTEGER002 = (INTEGER001 - 37) / 59
  1032.     If (INTEGER002 < 1) Then
  1033.         PrintLn 
  1034.         PrintLn "@X0C0 byte file!  Recreating with a dummy record..."
  1035.         FCreate 1, STRING001, 1, 2
  1036.         FWrite 1, " LoopBack 5.05 Binary Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 37
  1037.         FWrite 1, 0, 1
  1038.         FWrite 1, 0, 1
  1039.         FWrite 1, "000", 3
  1040.         FWrite 1, "000", 3
  1041.         FWrite 1, "0000", 4
  1042.         FWrite 1, "JOHN DOE", 25
  1043.         FWrite 1, Date(), 2
  1044.         FWrite 1, Time(), 4
  1045.         FWrite 1, Space(11), 11
  1046.         FClose 1
  1047.         PrintLn "@X0ANew trash file successfully created..."
  1048.     Endif
  1049.     PrintLn "@X0F" + String(INTEGER006) + " name(s) was/were removed from the trash file for inactivity!"
  1050.     Log String(INTEGER006) + " inactive users removed from LoopBack Trash file", 0
  1051.     Return
  1052.     :LABEL030
  1053.     STRING002 = Trim(Upper(STRING002), " ")
  1054.     If (U_RecNum(STRING002) == -1) Then
  1055.         BOOLEAN008 = 0
  1056.         Inc INTEGER006
  1057.         FPutLn 4, STRING002 + " was deleted from the trash file..."
  1058.     Else
  1059.         BOOLEAN008 = 1
  1060.     Endif
  1061.     Return
  1062.     :LABEL031
  1063.     BOOLEAN002 = 0
  1064.     BOOLEAN004 = 1
  1065.     Gosub LABEL042
  1066.     If (Exist(PPEPath() + "TRASH.IDX")) Goto LABEL032
  1067.     Cls
  1068.     PrintLn 
  1069.     PrintLn Space(29) + "@X0F(@X0ABuilding Index File@X0F)"
  1070.     PrintLn 
  1071.     Gosub LABEL040
  1072.     :LABEL032
  1073.     INTEGER001 = FileInf(STRING001, 4)
  1074.     If (Exist(STRING001)) Goto LABEL033
  1075.     PrintLn 
  1076.     PrintLn "@X0CCreating sample " + STRING001
  1077.     BOOLEAN001 = 1
  1078.     FCreate 1, STRING001, 2, 2
  1079.     If (Ferr(1)) Then
  1080.         BOOLEAN001 = 1
  1081.     Else
  1082.         BOOLEAN001 = 0
  1083.     Endif
  1084.     If (BOOLEAN001) Then
  1085.         PrintLn 
  1086.         PrintLn "@X0CSorry, the @X0F" + STRING001 + " X0Cfile is currently inaccessible..."
  1087.         FClose 1
  1088.         Return
  1089.     Endif
  1090.     FSeek 1, 0, 0
  1091.     FWrite 1, " LoopBack 5.05 Binary Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 37
  1092.     FWrite 1, 0, 1
  1093.     FWrite 1, 0, 1
  1094.     FWrite 1, "000", 3
  1095.     FWrite 1, "000", 4
  1096.     FWrite 1, "0000", 8
  1097.     FWrite 1, "JOHN DOE", 25
  1098.     FWrite 1, Date(), 2
  1099.     FWrite 1, Time(), 4
  1100.     FWrite 1, Space(11), 11
  1101.     INTEGER001 = 96
  1102.     Goto LABEL034
  1103.     :LABEL033
  1104.     BOOLEAN001 = 1
  1105.     FOpen 1, STRING001, 2, 2
  1106.     If (Ferr(1)) Then
  1107.         BOOLEAN001 = 1
  1108.     Else
  1109.         BOOLEAN001 = 0
  1110.     Endif
  1111.     If (BOOLEAN001) Then
  1112.         PrintLn 
  1113.         PrintLn "@X0CSorry, the @X0F" + STRING001 + " X0Cfile is currently inaccessible..."
  1114.         FClose 1
  1115.         Return
  1116.     Endif
  1117.     :LABEL034
  1118.     FOpen 2, PPEPath() + "TRASH.IDX", 1, 2
  1119.     If (Ferr(2)) Then
  1120.         BOOLEAN001 = 1
  1121.     Else
  1122.         BOOLEAN001 = 0
  1123.     Endif
  1124.     If (BOOLEAN001) Then
  1125.         PrintLn 
  1126.         PrintLn "@X0CSorry, the @X0F" + PPEPath() + "TRASH.IDX @X0Cfile is currently inaccessible..."
  1127.         FClose 1
  1128.         FClose 2
  1129.         PrintLn 
  1130.         Return
  1131.     Endif
  1132.     INTEGER003 = 1
  1133.     STRING003 = ""
  1134.     :LABEL035
  1135.     If (BOOLEAN002) Goto LABEL037
  1136.     If (BOOLEAN004) Then
  1137.         FSeek 1, 37 + INTEGER003 * 59 - 59, 0
  1138.         FRead 1, TBOOLEAN003(0), 1
  1139.         FRead 1, TBOOLEAN003(1), 1
  1140.         FRead 1, STRING009, 3
  1141.         FRead 1, STRING011, 4
  1142.         FRead 1, STRING010, 8
  1143.         STRING009 = Strip(STRING009, " ")
  1144.         STRING011 = Strip(STRING011, " ")
  1145.         STRING010 = Strip(STRING010, " ")
  1146.         FRead 1, STRING002, 25
  1147.         FRead 1, DATE001, 2
  1148.         FRead 1, TIME001, 4
  1149.         BOOLEAN004 = 0
  1150.     Endif
  1151.     PrintLn 
  1152.     INTEGER002 = (INTEGER001 - 37) / 59
  1153.     PrintLn "    @X0BRecord #@X0E" + String(INTEGER003) + "@X0B of @X0E" + String(INTEGER002)
  1154.     Print "    @X0ADeleted : @X0C"
  1155.     If (TBOOLEAN003(0)) Then
  1156.         PrintLn "Yes"
  1157.     Else
  1158.         PrintLn "No "
  1159.     Endif
  1160.     PrintLn 
  1161.     PrintLn "    @X0F(@X09N@X0F)@X0Fame : @X0C" + STRING002
  1162.     Print "    @X0F(@X09#@X0F)@X0F called : @X0C"
  1163.     If (TBOOLEAN003(1)) Then
  1164.         Print STRING009 + "-" + STRING011 + "-" + STRING010
  1165.     Else
  1166.         Print STRING009 + "-" + Mid(STRING011, 1, 3) + "-" + Mid(STRING010, 1, 4)
  1167.     Endif
  1168.     Print "    @X0F(@X09I@X0F)@X0Fnternational : @X0C"
  1169.     If (TBOOLEAN003(1)) Then
  1170.         PrintLn "Yes"
  1171.     Else
  1172.         PrintLn "No "
  1173.     Endif
  1174.     PrintLn "    @X0F(@X09D@X0F)@X0Fate : @X0C" + String(DATE001)
  1175.     PrintLn "    @X0F(@X09T@X0F)@X0Fime : @X0C" + String(TIME001)
  1176.     PrintLn 
  1177.     PrintLn "    @X0F(@X09+@X0F) @X0BAdvance 1 record  @X0F(@X09-@X0F) @X0BRetard 1 record"
  1178.     PrintLn "    @X0F(@X09J@X0F)@X0Bump to record      @X0F(@X09A@X0F)@X0Bdd a record"
  1179.     PrintLn "    @X0F(@X09E@X0F)@X0Brase toggle        @X0F(@X09Q@X0F)@X0Buit"
  1180.     PrintLn "    @X0F(@X09S@X0F)@X0Bearch for text"
  1181.     PrintLn 
  1182.     InputStr "(H)elp, Enter command", STRING003, 10, 1, "SsNn#IiTtDdJjAaEeQq+-Hh", 2 + 4
  1183.     Newline
  1184.     STRING003 = Upper(STRING003)
  1185.     Select Case (STRING003)
  1186.         Case "Q"
  1187.             FClose 1
  1188.             BOOLEAN004 = 0
  1189.             BOOLEAN002 = 1
  1190.         Case "H"
  1191.             Print "@PON@"
  1192.             DispFile PPEPath() + "LBKNE", 1 + 4
  1193.             Print "@POFF@"
  1194.             Cls
  1195.             BOOLEAN004 = 0
  1196.             BOOLEAN002 = 0
  1197.         Case "S"
  1198.             Gosub LABEL038
  1199.             BOOLEAN002 = 0
  1200.             BOOLEAN004 = 1
  1201.         Case "+"
  1202.             If (INTEGER003 >= INTEGER002) Then
  1203.                 INTEGER003 = 1
  1204.             Else
  1205.                 Inc INTEGER003
  1206.             Endif
  1207.             BOOLEAN002 = 0
  1208.             BOOLEAN004 = 1
  1209.         Case "-"
  1210.             If (INTEGER003 <= 1) Then
  1211.                 INTEGER003 = INTEGER002
  1212.             Else
  1213.                 Dec INTEGER003
  1214.             Endif
  1215.             BOOLEAN002 = 0
  1216.             BOOLEAN004 = 1
  1217.         Case "J"
  1218.             INTEGER005 = INTEGER002
  1219.             InputInt "Enter record # to jump to", INTEGER005, 10
  1220.             If (INTEGER005 > INTEGER002) Then
  1221.                 INTEGER003 = INTEGER002
  1222.             ElseIf (INTEGER005 < 1) Then
  1223.                 INTEGER003 = 1
  1224.             Else
  1225.                 INTEGER003 = INTEGER005
  1226.             Endif
  1227.             BOOLEAN002 = 0
  1228.             BOOLEAN004 = 1
  1229.         Case "E"
  1230.             FSeek 1, 37 + INTEGER003 * 59 - 59, 0
  1231.             If (TBOOLEAN003(0)) Then
  1232.                 FWrite 1, 0, 1
  1233.             Else
  1234.                 FWrite 1, 1, 1
  1235.             Endif
  1236.             BOOLEAN002 = 0
  1237.             BOOLEAN004 = 1
  1238.         Case "A"
  1239.             STRING002 = ""
  1240.             InputStr "Enter name", STRING002, 10, 25, Mask_Ascii(), 2 + 4
  1241.             STRING002 = Upper(STRING002)
  1242.             Newline
  1243.             DATE001 = Date()
  1244.             InputDate "Enter date", DATE001, 10
  1245.             Newline
  1246.             TIME001 = Time()
  1247.             InputTime "Enter time", TIME001, 10
  1248.             Newline
  1249.             STRING005 = NoChar()
  1250.             InputYN "International number", STRING005, 10
  1251.             Newline
  1252.             If (Upper(STRING005) == Upper(YesChar())) Then
  1253.                 TBOOLEAN003(1) = 1
  1254.             Else
  1255.                 TBOOLEAN003(1) = 0
  1256.             Endif
  1257.             If (TBOOLEAN003(1)) Then
  1258.                 InputStr "Country Code", STRING009, 9, 3, Mask_Num(), 2 + 4
  1259.                 Newline
  1260.                 InputStr "City Code", STRING011, 9, 4, Mask_Num(), 2 + 4
  1261.                 Newline
  1262.                 InputStr "Number", STRING010, 9, 8, Mask_Num() + "-,() ", 2 + 4
  1263.             Else
  1264.                 InputStr "Area Code", STRING009, 9, 3, Mask_Num(), 2 + 4
  1265.                 Newline
  1266.                 InputStr "Prefix", STRING011, 9, 3, Mask_Num(), 2 + 4
  1267.                 Newline
  1268.                 InputStr "Number", STRING010, 9, 4, Mask_Num(), 2 + 4
  1269.             Endif
  1270.             STRING009 = Strip(STRING009, " ")
  1271.             STRING011 = Strip(STRING011, " ")
  1272.             STRING010 = Strip(Strip(Strip(Strip(Strip(STRING010, " "), "-"), ","), "("), ")")
  1273.             Newline
  1274.             STRING004 = YesChar()
  1275.             InputYN STRING009 + "-" + STRING011 + "-" + STRING010 + "   Is this correct", STRING004, 12
  1276.             If (Upper(STRING004) == Upper(YesChar())) Then
  1277.                 FSeek 1, 0, 2
  1278.                 FSeek 2, 0, 2
  1279.                 FWrite 1, 0, 1
  1280.                 FWrite 1, TBOOLEAN003(1), 1
  1281.                 FWrite 1, STRING009, 3
  1282.                 FWrite 1, STRING011, 4
  1283.                 FWrite 1, STRING010, 8
  1284.                 FWrite 1, STRING002, 25
  1285.                 FWrite 1, DATE001, 2
  1286.                 FWrite 1, TIME001, 4
  1287.                 FWrite 1, Space(11), 11
  1288.                 INTEGER004 = S2I(STRING009, 10) + S2I(STRING011, 10) + S2I(STRING010, 10)
  1289.                 FWrite 2, INTEGER002 + 1, 4
  1290.                 FWrite 2, INTEGER004, 4
  1291.                 INTEGER002 = INTEGER002 + 1
  1292.                 INTEGER001 = INTEGER001 + 59
  1293.                 INTEGER003 = INTEGER002
  1294.             Endif
  1295.             BOOLEAN004 = 1
  1296.             BOOLEAN002 = 0
  1297.         Case "T"
  1298.             InputTime "Enter new time", TIME001, 10
  1299.             FSeek 1, 37 + INTEGER003 * 59 - 15, 0
  1300.             FWrite 1, TIME001, 4
  1301.             BOOLEAN002 = 0
  1302.             BOOLEAN004 = 1
  1303.         Case "D"
  1304.             InputDate "Enter new date", DATE001, 10
  1305.             FSeek 1, 37 + INTEGER003 * 59 - 17, 0
  1306.             FWrite 1, DATE001, 2
  1307.             BOOLEAN002 = 0
  1308.             BOOLEAN004 = 1
  1309.         Case "#"
  1310.             If (TBOOLEAN003(1)) Then
  1311.                 InputStr "Country Code", STRING009, 9, 3, Mask_Num(), 2 + 4
  1312.                 Newline
  1313.                 InputStr "City Code", STRING011, 9, 4, Mask_Num(), 2 + 4
  1314.                 Newline
  1315.                 InputStr "Number", STRING010, 9, 8, Mask_Num() + "-,() ", 2 + 4
  1316.             Else
  1317.                 InputStr "Area Code", STRING009, 9, 3, Mask_Num(), 2 + 4
  1318.                 Newline
  1319.                 InputStr "Prefix", STRING011, 9, 3, Mask_Num(), 2 + 4
  1320.                 Newline
  1321.                 InputStr "Number", STRING010, 9, 4, Mask_Num(), 2 + 4
  1322.             Endif
  1323.             STRING009 = Strip(STRING009, " ")
  1324.             STRING011 = Strip(STRING011, " ")
  1325.             STRING010 = Strip(Strip(Strip(Strip(Strip(STRING010, " "), "-"), ","), "("), ")")
  1326.             FSeek 1, 37 + INTEGER003 * 59 - 57, 0
  1327.             If (TBOOLEAN003(1)) Then
  1328.                 FWrite 1, STRING009, 3
  1329.                 FWrite 1, STRING011, 4
  1330.                 FWrite 1, STRING010, 8
  1331.             Else
  1332.                 FWrite 1, STRING009, 3
  1333.                 FWrite 1, STRING011 + Space(1), 4
  1334.                 FWrite 1, STRING010 + Space(4), 8
  1335.             Endif
  1336.             INTEGER004 = S2I(STRING009, 10) + S2I(STRING011, 10) + S2I(STRING010, 10)
  1337.             FSeek 2, 37 + INTEGER003 * 8 - 4, 0
  1338.             FWrite 2, INTEGER004, 4
  1339.             BOOLEAN002 = 0
  1340.             BOOLEAN004 = 1
  1341.         Case "N"
  1342.             InputStr "Enter new name", STRING002, 10, 25, Mask_Ascii(), 2 + 4
  1343.             STRING002 = Upper(STRING002)
  1344.             FSeek 1, 37 + INTEGER003 * 59 - 42, 0
  1345.             FWrite 1, STRING002, 25
  1346.             BOOLEAN002 = 0
  1347.             BOOLEAN004 = 1
  1348.         Case "I"
  1349.             STRING005 = NoChar()
  1350.             InputYN "International Number", STRING005, 10
  1351.             If (Upper(STRING005) == Upper(YesChar())) Then
  1352.                 TBOOLEAN003(1) = 1
  1353.                 Goto LABEL036
  1354.             Endif
  1355.             TBOOLEAN003(1) = 0
  1356.             :LABEL036
  1357.             FSeek 1, 37 + INTEGER003 * 59 - 58, 0
  1358.             FWrite 1, TBOOLEAN003(1), 1
  1359.             BOOLEAN002 = 0
  1360.             BOOLEAN004 = 1
  1361.             STRING005 = ""
  1362.     End Select
  1363.     Goto LABEL035
  1364.     :LABEL037
  1365.     FClose 1
  1366.     FClose 2
  1367.     PrintLn 
  1368.     STRING005 = YesChar()
  1369.     InputYN "Reindex Used # Trash File", STRING005, 12
  1370.     Newline
  1371.     If (Upper(STRING005) == YesChar()) Gosub LABEL040
  1372.     Return
  1373.     :LABEL038
  1374.     PrintLn 
  1375.     PrintLn "@X0FEnter text to search for below (Searching name field)"
  1376.     InputText "", STRING006, 15, 75
  1377.     Newline
  1378.     STRING006 = Trim(STRING006, " ")
  1379.     If (STRING006 == "") Then
  1380.         PrintLn "@X0CSearch aborted...  Returning to already used # editor..."
  1381.         BOOLEAN005 = 0
  1382.         Return
  1383.     Endif
  1384.     PrintLn "@X0AInitializing search..."
  1385.     SearchInit STRING006, 0
  1386.     Print "@X0FSearching record #@X0B" + String(INTEGER003) + "@X0F of @X0B" + String(INTEGER002)
  1387.     INTEGER005 = INTEGER003
  1388.     INTEGER004 = INTEGER003
  1389.     FSeek 1, 37 + INTEGER003 * 59 - 59, 0
  1390.     While (INTEGER003 <= INTEGER002) Do
  1391.         FSeek 1, 17, 1
  1392.         FRead 1, STRING005, 25
  1393.         FSeek 1, 17, 1
  1394.         Backup Len(String(INTEGER002) + " of " + String(INTEGER004))
  1395.         Print "@X0B" + String(INTEGER003) + "@X0F of @X0B" + String(INTEGER002)
  1396.         SearchFind STRING005, BOOLEAN005
  1397.         If (BOOLEAN005 && (INTEGER003 <> INTEGER005)) Then
  1398.             PrintLn 
  1399.             PrintLn "@X0ASearch Criteria was found!  Now displaying..."
  1400.             SearchStop
  1401.             Return
  1402.         Else
  1403.             BOOLEAN005 = 0
  1404.         Endif
  1405.         INTEGER004 = INTEGER003
  1406.         Inc INTEGER003
  1407.     EndWhile
  1408.     If (BOOLEAN005) Goto LABEL039
  1409.     PrintLn 
  1410.     PrintLn "@X0CSearch criteria was not found...  Returning to record #" + String(INTEGER005)
  1411.     INTEGER003 = INTEGER005
  1412.     SearchStop
  1413.     :LABEL039
  1414.     Return
  1415.     :LABEL040
  1416.     Gosub LABEL042
  1417.     If (Exist(STRING001)) Goto LABEL041
  1418.     PrintLn 
  1419.     PrintLn "@X0CCreating sample " + STRING001
  1420.     FCreate 1, STRING001, 2, 2
  1421.     If (Ferr(1)) Then
  1422.         BOOLEAN001 = 1
  1423.     Else
  1424.         BOOLEAN001 = 0
  1425.     Endif
  1426.     If (BOOLEAN001) Then
  1427.         PrintLn 
  1428.         PrintLn "@X0CSorry, the @X0F" + STRING001 + " X0Cfile is currently inaccessible..."
  1429.         FClose 1
  1430.         Return
  1431.     Endif
  1432.     FSeek 1, 0, 0
  1433.     FWrite 1, " LoopBack 5.05 Binary Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 37
  1434.     FWrite 1, 0, 1
  1435.     FWrite 1, 0, 1
  1436.     FWrite 1, "000", 3
  1437.     FWrite 1, "000", 4
  1438.     FWrite 1, "0000", 8
  1439.     FWrite 1, "JOHN DOE", 25
  1440.     FWrite 1, Date(), 2
  1441.     FWrite 1, Time(), 4
  1442.     FWrite 1, Space(11), 11
  1443.     FClose 1
  1444.     :LABEL041
  1445.     INTEGER001 = FileInf(STRING001, 4)
  1446.     INTEGER002 = (INTEGER001 - 37) / 59
  1447.     FOpen 1, STRING001, 0, 0
  1448.     If (Ferr(1)) Then
  1449.         BOOLEAN001 = 1
  1450.     Else
  1451.         BOOLEAN001 = 0
  1452.     Endif
  1453.     If (BOOLEAN001) Then
  1454.         PrintLn 
  1455.         PrintLn "@X0CSorry, the @X0F" + STRING001 + " @X0Cfile is currently inaccessible..."
  1456.         FClose 1
  1457.         PrintLn 
  1458.         Return
  1459.     Endif
  1460.     FCreate 2, PPEPath() + "TRASH.IDX", 1, 3
  1461.     If (Ferr(2)) Then
  1462.         BOOLEAN001 = 1
  1463.     Else
  1464.         BOOLEAN001 = 0
  1465.     Endif
  1466.     If (BOOLEAN001) Then
  1467.         PrintLn 
  1468.         PrintLn "@X0CSorry, the @X0F" + PPEPath() + "TRASH.IDX @X0Cfile is currently inaccessible..."
  1469.         FClose 1
  1470.         FClose 2
  1471.         PrintLn 
  1472.         Return
  1473.     Endif
  1474.     FWrite 2, " LoopBack 5.05 Trash File Index " + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 37
  1475.     INTEGER003 = 1
  1476.     PrintLn 
  1477.     Print "Generating index file...     "
  1478.     If (OnLocal()) Then
  1479.         PrintLn 
  1480.         PrintLn 
  1481.         Print "@X0F0% @X07░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ @X0F100%"
  1482.         BYTE001 = GetY()
  1483.     Endif
  1484.     FSeek 1, 37, 0
  1485.     While (INTEGER003 <= INTEGER002) Do
  1486.         FSeek 1, 2, 1
  1487.         FRead 1, STRING009, 3
  1488.         FRead 1, STRING011, 4
  1489.         FRead 1, STRING010, 8
  1490.         FSeek 1, 42, 1
  1491.         INTEGER004 = S2I(STRING009, 10) + S2I(STRING011, 10) + S2I(STRING010, 10)
  1492.         FWrite 2, INTEGER003, 4
  1493.         FWrite 2, INTEGER004, 4
  1494.         If (OnLocal()) Then
  1495.             Gosub LABEL045
  1496.         Else
  1497.             Gosub LABEL046
  1498.         Endif
  1499.         Inc INTEGER003
  1500.     EndWhile
  1501.     PrintLn 
  1502.     PrintLn "@X0AAlready used number file indexes successfully created!"
  1503.     Log "LoopBack used # trash index created...", 0
  1504.     FClose 1
  1505.     FClose 2
  1506.     Return
  1507.     :LABEL042
  1508.     STRING005 = PPEPath() + "LBKBACK.XXX"
  1509.     If (Exist(PPEPath() + "LBKBACK.XXX")) Then
  1510.         FOpen 2, STRING005, 0, 0
  1511.     Else
  1512.         PrintLn 
  1513.         PrintLn "@X0FPath & filename to LoopBack config file @X0E(Enter Below)"
  1514.         InputStr "", STRING005, 12, 75, Mask_Path() + Mask_File(), 2 + 4
  1515.         If (Exist(STRING005)) Goto LABEL043
  1516.         PrintLn 
  1517.         PrintLn "@X0C" + STRING005 + " DOES NOT EXIST!   @X0AReturning to LoopUtil Main..."
  1518.         Goto LABEL048
  1519.         Goto LABEL044
  1520.         :LABEL043
  1521.         FOpen 2, STRING005, 0, 0
  1522.     Endif
  1523.     :LABEL044
  1524.     If (Ferr(2)) Then
  1525.         BOOLEAN001 = 1
  1526.     Else
  1527.         BOOLEAN001 = 0
  1528.     Endif
  1529.     If (BOOLEAN001) Then
  1530.         PrintLn 
  1531.         PrintLn "@X0CSorry, the @X0F" + STRING005 + " @X0Cfile is currently inaccessible..."
  1532.         FClose 2
  1533.         Return
  1534.     Endif
  1535.     FSeek 2, 284, 0
  1536.     FRead 2, STRING001, 75
  1537.     FClose 2
  1538.     Return
  1539.     :LABEL045
  1540.     If (INTEGER003 == 1) BYTE006 = 0
  1541.     If ((INTEGER003 <> 0) && (INTEGER002 <> 0)) Then
  1542.         REAL002 = ToReal(INTEGER003) / ToReal(INTEGER002)
  1543.         REAL003 = FmtReal(ToReal(35) * REAL002, 1, 0)
  1544.         BYTE005 = ToByte(REAL003) - BYTE006
  1545.         If (BYTE005 <> BYTE006) Then
  1546.             Color 63
  1547.             AnsiPos 4 + BYTE006, BYTE001
  1548.             For BYTE006 = 1 To BYTE005
  1549.                 Print "░"
  1550.             Next
  1551.             BYTE006 = ToByte(REAL003)
  1552.             REAL002 = FmtReal(REAL002 * 100, 1, 0)
  1553.             BYTE005 = (43 - Len(String(REAL002) + "%")) / 2
  1554.             Color 11
  1555.             REAL003 = ToReal(BYTE001) - 1
  1556.             AnsiPos BYTE005, ToByte(REAL003)
  1557.             Print String(REAL002) + "%"
  1558.             AnsiPos 45, BYTE001
  1559.         Endif
  1560.     Endif
  1561.     Return
  1562.     :LABEL046
  1563.     If ((INTEGER003 <> 0) && (INTEGER002 <> 0)) Then
  1564.         If (INTEGER003 == 1) Then
  1565.             BYTE004 = 0
  1566.             Goto LABEL047
  1567.         Endif
  1568.         BYTE004 = REAL001
  1569.         :LABEL047
  1570.         REAL001 = ToReal(INTEGER003) / ToReal(INTEGER002)
  1571.         REAL001 = FmtReal(REAL001 * 100, 1, 0)
  1572.         If (BYTE004 <> REAL001) Then
  1573.             Backup Len(String(BYTE004) + "%")
  1574.             Print String(REAL001) + "%"
  1575.         Endif
  1576.     Endif
  1577.     Return
  1578.     :LABEL048
  1579.     End
  1580.  
  1581. ;------------------------------------------------------------------------------
  1582. ;
  1583. ; Usage report (before postprocessing)
  1584. ;
  1585. ; ■ Statements used :
  1586. ;
  1587. ;    1       End
  1588. ;    8       Cls
  1589. ;    1       Wait
  1590. ;    4       Color 
  1591. ;    292     Goto 
  1592. ;    260     Let 
  1593. ;    27      Print 
  1594. ;    242     PrintLn 
  1595. ;    177     If 
  1596. ;    1       DispFile 
  1597. ;    16      FCreate 
  1598. ;    15      FOpen 
  1599. ;    2       FAppend 
  1600. ;    69      FClose 
  1601. ;    3       FGet 
  1602. ;    27      FPutLn 
  1603. ;    5       Delete 
  1604. ;    7       Log 
  1605. ;    24      InputStr 
  1606. ;    5       InputYN 
  1607. ;    3       InputInt 
  1608. ;    2       InputDate 
  1609. ;    2       InputTime 
  1610. ;    36      Gosub 
  1611. ;    49      Return
  1612. ;    9       Delay 
  1613. ;    11      Inc 
  1614. ;    1       Dec 
  1615. ;    20      Newline
  1616. ;    2       Tokenize 
  1617. ;    10      GetToken 
  1618. ;    1       InputText 
  1619. ;    2       KbdChkOn
  1620. ;    2       KbdChkOff
  1621. ;    3       AnsiPos 
  1622. ;    5       Backup 
  1623. ;    5       Rename 
  1624. ;    34      FSeek 
  1625. ;    33      FRead 
  1626. ;    128     FWrite 
  1627. ;    1       FDefOut 
  1628. ;    9       FDWrite 
  1629. ;    1       Copy 
  1630. ;    1       GetAltUser 
  1631. ;    1       SearchInit 
  1632. ;    1       SearchFind 
  1633. ;    2       SearchStop
  1634. ;
  1635. ;
  1636. ; ■ Functions used :
  1637. ;
  1638. ;    2       -
  1639. ;    12      *
  1640. ;    10      /
  1641. ;    323     +
  1642. ;    18      -
  1643. ;    45      ==
  1644. ;    11      <>
  1645. ;    4       <
  1646. ;    10      <=
  1647. ;    1       >
  1648. ;    4       >=
  1649. ;    166     !
  1650. ;    6       &&
  1651. ;    1       ||
  1652. ;    8       Len(
  1653. ;    21      Upper()
  1654. ;    17      Mid()
  1655. ;    2       Left()
  1656. ;    23      Space()
  1657. ;    32      Ferr()
  1658. ;    62      Chr()
  1659. ;    9       Trim()
  1660. ;    11      Date()
  1661. ;    11      Time()
  1662. ;    3       U_Name()
  1663. ;    2       NoChar()
  1664. ;    8       YesChar()
  1665. ;    3       Replace()
  1666. ;    44      Strip()
  1667. ;    49      String()
  1668. ;    12      Mask_Num()
  1669. ;    7       Mask_File()
  1670. ;    7       Mask_Path()
  1671. ;    3       Mask_Ascii()
  1672. ;    2       PCBDat()
  1673. ;    24      PPEPath()
  1674. ;    10      PcbNode()
  1675. ;    2       ReadLine()
  1676. ;    8       OnLocal()
  1677. ;    5       GetToken()
  1678. ;    19      Exist()
  1679. ;    9       S2I()
  1680. ;    4       GetY()
  1681. ;    7       FileInf()
  1682. ;    1       U_RecNum()
  1683. ;    3       ToByte()
  1684. ;    2       ToDate()
  1685. ;    6       ToReal()
  1686. ;    1       ToTime()
  1687. ;    3       FmtReal()
  1688. ;
  1689. ;------------------------------------------------------------------------------
  1690. ;
  1691. ; Analysis flags : Rd
  1692. ;
  1693. ; R - Read user ■ 5
  1694. ;     User records are read, this may signify that someone wants to get
  1695. ;     various informations about a user (for example his password), but
  1696. ;     this may also be normal for a program accessing user records (for
  1697. ;     example a User Editor)
  1698. ;     ■ Search for : GETALTUSER
  1699. ;
  1700. ; d - Access PCBOARD.DAT ■ 2
  1701. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  1702. ;     for many PPE so they can find various informations on the system
  1703. ;     (system paths, max number of lines in messages, ...) but it may also
  1704. ;     be a way to gather vital informations.
  1705. ;     ■ Search for : PCBDAT()
  1706. ;
  1707. ;------------------------------------------------------------------------------
  1708. ;
  1709. ; Postprocessing report
  1710. ;
  1711. ;    1       For/Next
  1712. ;    7       While/EndWhile
  1713. ;    111     If/Then or If/Then/Else
  1714. ;    4       Select Case
  1715. ;
  1716. ;------------------------------------------------------------------------------
  1717. ;                 AEGiS Corp - Break the routines, code against the machines!
  1718. ;------------------------------------------------------------------------------
  1719.